home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 4.7 KB | 160 lines | [TEXT/MPS ] |
- /*
- File: DeviceNotify.idl
-
- Contains: xxx put contents here xxx
-
- Version: Technology: xxx put the technology version here xxx
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- */
- #ifndef __DEVICENOTIFY_IDL__
- #define __DEVICENOTIFY_IDL__
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- #ifndef __TYPES_IDL__
- #include <Types.idl>
- #endif
- #ifndef __KERNEL_IDL__
- #include <Kernel.idl>
- #endif
- #ifndef __NAMEREGISTRY_IDL__
- #include <NameRegistry.idl>
- #endif
-
- #ifdef __SOMIDL__
-
- #if FOR_SYSTEM8_PREEMPTIVE
- /*
- §
- ##############################################################################
-
- File Name: DeviceNotifyPriv.h
-
- Description:
- The device notification service is used by Copland Kernel band
- Low level family expert code to inform high level "consumers" about
- hot plugging/un-plugging of devices.
-
- The High level families or code modules running in priviledged mode
- can subscribe to the service with the DevNRegisterInterestIn().
- LL Family notifies its consumers through the DevNNotifyThatThisChanged().
-
- ##############################################################################
- ############################
- Defines
- ############################
- */
- typedef UInt32 DevNRef;
-
- /*
- a connection Reference Num for a particular subscription
- a consumer subscription is identified by a unique
- DevNSubRef. In order to cancel a consumer registration,
- the DevNSubRef must be specified.
-
- a Reference Num for a particular notification
- A notification is identified by a unique DevNRef,
- since a notification can go through couple of states, and
- it needs to be tracked with a unique identifier.
-
- */
- /*
- §
- ########################################################################
- Known & valid Service Category definitions are defined in DFM.h
- ########################################################################
- */
- /*
- §
- ########################################################################
- Event definition:
- If kDevNSoftRequestMask is set in conjunction with an event value,
- then a soft request is indicated, and the DevN will handle all the
- drudgery associated with two-way transactions, etc.
- (e.g. If (kDevNRemoved and kDevNSoftRequestMask) is received, it's
- a soft eject request)
- If kDevNSoftRequestMask is NOT set, then it's a hard request
- If the kDevNWarningMask is set, then it's an event warning that
- a given event is about to happen (and the consumer can't do a thing
- about it). It will be followed later on by a gone hard event.
- the kDevNWarningMask and the kDevNSoftRequestMask can NOT be set at
- the same time.
- ########################################################################
- */
- typedef UInt32 DevNEventType;
-
- /*
- pre-defined event mask
- §
- definition of valid global event
- (10/11/95) Events are now enum instead of masks
- enum for "unsigned" values
- */
- /* enum for "signed" values*/
- /*
- §
- ########################################################################
- Routine return value definition
- ########################################################################
- */
- typedef UInt32 DevNPermissionResponse;
-
- /* status returned by consumer to DevN*/
- /*
- ########################################################################
- Error code definition
- ########################################################################
- */
- /*
- ########################################################################
- Subroutine Prototype
- ########################################################################
- no more handlers
- ######################
- called by consumer
- ######################
- */
- /*
- call to register family defined events.
- itemCount specifies how many events are desired
- (Only create one event at a time)
- */
- /* de-register the given event*/
- /*
- must be called after an kDevNPermissionDelayed is returned to the DevN
- for a notification response.
- ######################
- called by producer
- ######################
- */
- /*
- #####################################
- Notification Message definitions
- #####################################
- */
- typedef SOMLargeStruct DevNMessage; /* Derived from a struct of 32 bytes in size */
-
- /*
- #########################################################
- Device Notification sub-message types.
- (This is in the "subMessageType" field inside
- The DevNMessage structure)
- #########################################################
- */
- #endif
-
- #endif /* __SOMIDL__ */
-
- #endif /* __DEVICENOTIFY_IDL__ */
-
-